package com.tencent.sr.iris.activity.interfaces.response.group.task;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@ApiModel("团长任务奖励明细")
@Data
public class GroupTaskRewardDetailResponse {

    @ApiModelProperty("任务考核指标，1=拉新+首购, 2=拉新+复购，3=GMV冲刺赛，4=销量冲刺赛，5=见习会员晋升, "
            + "6=初级会员晋升, 7=高级会员晋升，8=粉丝首购人数，9-派奖任务，10-特邀团推团")
    @JSONField(name = "task_target_evaluation")
    private Integer taskType;

    @ApiModelProperty("任务名")
    @JSONField(name = "task_phase_name")
    private String name;

    @ApiModelProperty("有效邀请人数")
    @JSONField(name = "valid_invite_user_num")
    private Integer validInviteNum;

    @ApiModelProperty("有效GMV 单位分")
    @JSONField(name = "valid_gmv")
    private Long validGmv;

    @ApiModelProperty("有效销售件数")
    @JSONField(name = "valid_goods_num")
    private Integer salesNum;

    @ApiModelProperty("预估奖励金")
    @JSONField(name = "predict_award_amount")
    private Long estimateReward;

    @ApiModelProperty("补偿佣金金额")
    @JSONField(name = "award_amount")
    private Long awardAmount;

    @ApiModelProperty("补偿订单数量")
    @JSONField(name = "valid_order_num")
    private Integer validOrderNum;

    @ApiModelProperty("审核结果(0.待审核,1.未完成,2审核中,3.审批驳回,4.审核通过)")
    @JSONField(name = "audit_status")
    private Integer auditResult;

    @ApiModelProperty("任务开始时间 时间戳")
    @JSONField(name = "task_phase_start_time")
    private Long taskBeginTime;

    @ApiModelProperty("任务结束时间 时间戳")
    @JSONField(name = "task_phase_end_time")
    private Long taskEndTime;

    @ApiModelProperty("跳转H5的url")
    @JSONField(name = "detail_jump_url")
    private String redirectH5Url;

    @ApiModelProperty("领取状态(派奖工具).1=待领取,2=已领取,3=已撤回")
    @JSONField(name = "receive_status")
    private String receiveStatus;

    @ApiModelProperty("审核通过时间（即派奖领取时间）")
    @JSONField(name = "audit_pass_time")
    private String auditPassTime;

    @ApiModelProperty("发放时间")
    @JSONField(name = "task_phase_join_time")
    private String taskPhaseJoinTime;

    @ApiModelProperty("奖品类型(1.奖励金 2.实物)")
    @JSONField(name = "award_type")
    private Integer awardType;

    @ApiModelProperty("排行榜配置id")
    @JSONField(name = "rank_award_config_id")
    private Integer rankAwardConfigId;

    @ApiModelProperty("排行榜配置")
    @JSONField(name = "rank_award_config")
    private RankAwardConfigResponse rankAwardConfigResponse;

    @ApiModelProperty("榜单排名")
    @JSONField(name = "rank_num")
    private Integer rankNum;

    @ApiModelProperty("兜底奖品id")
    @JSONField(name = "task_rank_award_minimum_id")
    private Integer taskRankAwardMinimumId;

    @ApiModelProperty("兜底奖品")
    @JSONField(name = "task_rank_award_minimum")
    private TaskRankAwardMinimumResponse taskRankAwardMinimumResponse;

    @ApiModelProperty("有效收益")
    @JSONField(name = "valid_commission_bill_commission_fee")
    private Long validCommissionBillCommissionFee;

    @ApiModelProperty("任务周期信息")
    @JSONField(name = "task_user_cycle_performance")
    private List<TaskCycleResponse> taskUserCyclePerformance;

    @ApiModelProperty("子任务考核门槛类型 1=GMV,2=佣金,3=有效分享数，4=销售件数，5=分销单数")
    @JSONField(name = "task_phase_rule_assessment_threshold_type")
    private Integer taskPhaseRuleAssessmentThresholdType;
}

